package com.example.miniodemo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.miniodemo.pojo.domain.Article;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;

/**
 * 文章 持久层
 *
 * @author Lv
 * @date 2022/11/11
 */
@Mapper
public interface ArticleMapper extends BaseMapper<Article> {
    /**
     * 通过标题作者发布时间查询文章
     *
     * @param page           分页对象
     * @param articleTitle   标题
     * @param articleAuthor  作者
     * @param minPublishTime 最小发布时间
     * @param maxPublishTime 最大发布时间
     * @return
     */
    IPage<Article> selectByTitleAndAuthorAndPublishTime(@Param("page") IPage<Article> page, @Param("articleTitle") String articleTitle,
                                                        @Param("articleAuthor") String articleAuthor, @Param("minPublishTime") Date minPublishTime,
                                                        @Param("maxPublishTime") Date maxPublishTime);
}